iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
1
自我挑戰組

今年我想陪著 30 天系列 第 11

今年我想陪著 30 天之 11

  • 分享至 

  • xImage
  •  

1313. Decompress Run-Length Encoded List

We are given a list nums of integers representing a list compressed with run-length encoding.
Consider each adjacent pair of elements [freq, val] = [nums[2i], nums[2i+1]] (with i >= 0). For each such pair, there are freq elements with value val concatenated in a sublist. Concatenate all the sublists from left to right to generate the decompressed list.
Return the decompressed list.

  • Example 1:
    Input: nums = [1,2,3,4]
    Output: [2,4,4,4]
    Explanation: The first pair [1,2] means we have freq = 1 and val = 2 so we generate the array [2].
    The second pair [3,4] means we have freq = 3 and val = 4 so we generate [4,4,4].
    At the end the concatenation [2] + [4,4,4] is [2,4,4,4].

  • Example 2:
    Input: nums = [1,1,2,3]
    Output: [1,3,3]

var decompressRLElist = function(nums) {
    let group = [];
    while(nums.length !== 0) {
      group.push(nums.splice(0, 2))
    }
    let result = [];
    for(let i=0; i < group.length; i++) {
      let value = group[i][1];
      let times = group[i][0];
      while(times > 0) {
        result.push(value);
        times--
      }
    }
    return result
};

上一篇
今年我想陪著 30 天之 10
下一篇
今年我想陪著 30 天之 12
系列文
今年我想陪著 30 天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言